package com.ruoyi.module.excellentCase.service;

import java.util.List;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.module.excellentCase.domain.ExcellentCase;
import com.ruoyi.module.excellentCase.vo.ExcellentCaseVO;

/**
 * 优秀案例Service接口
 * 
 * @author yqq
 * @date 2024-04-18
 */
public interface IExcellentCaseService 
{
    /**
     * 查询优秀案例
     * 
     * @param caseId 优秀案例主键
     * @return 优秀案例
     */
    public ExcellentCase selectExcellentCaseByCaseId(Long caseId);

    /**
     * 查询优秀案例列表
     * 
     * @param excellentCase 优秀案例
     * @return 优秀案例集合
     */
    public List<ExcellentCase> selectExcellentCaseList(ExcellentCase excellentCase);

    /**
     * 新增优秀案例
     * 
     * @param excellentCase 优秀案例
     * @return 结果
     */
    public int insertExcellentCase(ExcellentCase excellentCase);

    /**
     * 修改优秀案例
     * 
     * @param excellentCase 优秀案例
     * @return 结果
     */
    public int updateExcellentCase(ExcellentCase excellentCase);

    /**
     * 批量删除优秀案例
     * 
     * @param caseIds 需要删除的优秀案例主键集合
     * @return 结果
     */
    public int deleteExcellentCaseByCaseIds(Long[] caseIds);

    /**
     * 删除优秀案例信息
     * 
     * @param caseId 优秀案例主键
     * @return 结果
     */
    public int deleteExcellentCaseByCaseId(Long caseId);

    /**
     * 新增优秀案列
     * @param excellentCaseVO
     * @return
     */
    AjaxResult insertExcellentCaseAndDetail(ExcellentCaseVO excellentCaseVO);

    /**
     * 修改优秀案列
     * @param excellentCaseVO
     * @return
     */
    AjaxResult updateExcellentCaseVO(ExcellentCaseVO excellentCaseVO);

    /**
     * 删除优秀案例
     * @param caseId 案例id
     * @return
     */
    AjaxResult deleteAllExcellentCaseByCaseId(Long caseId);
}
